import {
	baseUrl
} from './base.js'; //导入接口的前缀地址

import store from '../store/index.js';
import {
	getUserInfo
} from "@/api/index.js"

// 更新用户信息
function updateUser() {
	getUserInfo({
		userId: store.state.userid
	}).then(res => {
		store.commit('setUserinfo', res.data);
	})
}

function request(options) {
	return new Promise((resolve, reject) => {
		uni.request({
			url: baseUrl + options.url, // 服务器url
			method: options.method || 'GET', // 请求方法，默认为GET
			data: options.data || {}, // 请求参数
			header: {
				'Content-Type': options.query ? 'application/x-www-form-urlencoded' :
					'application/json',
				'token': uni.getStorageSync('usertoken'),
				'userId': uni.getStorageSync("userId"),
				'type': 1
			}, // 设置请求的 header
			success: (res) => {
				// 请求成功处理 
				let data = res.data;
				if (data.code == 200) {
					resolve(data);
					//要不要重新获取用户信息
					if (options.updata) {
						updateUser();
					}
				} else if (data.code == 401) {
					// #ifdef APP-PLUS
					uni.$u.toast(data.msg || '未授权，请重新登录');
					uni.reLaunch({
						url: "/pages/login/login"
					})
					// #endif
					reject(data.msg);
				} else {
					// 可以根据项目要求修改错误处理
					uni.showToast({
						title: data.msg || '请求失败',
						icon: "none"
					})
					reject(data);
				}
			},
			fail: (err) => {
				// 请求失败处理
				reject(err);
			}
		});
	});
}

export default request;